package com.hycreate.platform.modules.numberinfo;

import java.util.Date;

import org.hibernate.validator.constraints.Length;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hycreate.platform.common.persistence.DataEntity;
import com.hycreate.platform.common.utils.excel.annotation.ExcelField;
import com.hycreate.platform.modules.sys.utils.UserUtils;

/**
 * 工单Entity
 * @author wang
 * @version 2017-11-29
 */
public class YhcgNumberinfo extends DataEntity<YhcgNumberinfo> {
	
	private static final long serialVersionUID = 1L;
	private String number;		// 编号
	private String name;		// 姓名
	private String phone;		// 电话
	private String filename;		// 文件名
	private String fileurl;		// 文件地址
	private String come;		// 来源
	private String content;		// 内容
	private String remark;		// 备注
	private String registrant;		// 登记人（输入）
	private String administrator;		// 办理人
	private Date timelimit;		// 办理期限
	private Date createtime;		// 创建时间
	private String responsibilityunit;		// 责任单位
	private Date processingtime;		// 处理时间
	private String supervisionunit;		// 督办单位
	private String status;		// 工单状态
	private String audit;		// 审核状态
	private String audituser;		// 审核人
	private String points;		// 扣分信息
	private Date distributiontime;		// 派发时间
	private Date endtime;		// 结案时间
	private String type;//事件类别
	
	private String pid;//中间字段
	private String zenname;
	private String duname;
	private String chuuser;
	private String contentchu;
	private String filechuname;
	private String filetuurl;
	private Date timelimitgai;//修改时间
	private String timestatus;//用来判断逾期查询
	private String timestr;//中间字段还剩天数
	private String uid;
	public String getUid() {
		return uid;
	}

	public void setUid(String uid) {
		this.uid = uid;
	}

	@ExcelField(title="剩余天数", type=1, align=2, sort=5)
	public String getTimestr() {
		String str=UserUtils.DateList(timelimit,timestr);
		return str;
	}

	public void setTimestr(String timestr) {
		this.timestr = timestr;
	}

	public Date getStarttime() {
		return starttime;
	}

	public void setStarttime(Date starttime) {
		this.starttime = starttime;
	}

	public Date getStartshentime() {
		return startshentime;
	}

	public void setStartshentime(Date startshentime) {
		this.startshentime = startshentime;
	}

	public Date getEndshentime() {
		return endshentime;
	}

	public void setEndshentime(Date endshentime) {
		this.endshentime = endshentime;
	}

	private Date starttime;
	private Date startshentime;
	private Date endshentime;
	
	public String getTimestatus() {
		return timestatus;
	}

	public void setTimestatus(String timestatus) {
		this.timestatus = timestatus;
	}

	public Date getTimelimitgai() {
		return timelimitgai;
	}

	public void setTimelimitgai(Date timelimitgai) {
		this.timelimitgai = timelimitgai;
	}

	private String fuhestatus;//复核状态
	public String getFuhestatus() {
		return fuhestatus;
	}

	public void setFuhestatus(String fuhestatus) {
		this.fuhestatus = fuhestatus;
	}

	public String getChuuser() {
		return chuuser;
	}

	public void setChuuser(String chuuser) {
		this.chuuser = chuuser;
	}

	public String getContentchu() {
		return contentchu;
	}

	public void setContentchu(String contentchu) {
		this.contentchu = contentchu;
	}

	public String getFilechuname() {
		return filechuname;
	}

	public void setFilechuname(String filechuname) {
		this.filechuname = filechuname;
	}

	public String getFiletuurl() {
		return filetuurl;
	}

	public void setFiletuurl(String filetuurl) {
		this.filetuurl = filetuurl;
	}
	@ExcelField(title="责任单位", type=1, align=2, sort=7)
	public String getZenname() {
		return zenname;
	}

	public void setZenname(String zenname) {
		this.zenname = zenname;
	}
	@ExcelField(title="督办单位", type=1, align=2, sort=8)
	public String getDuname() {
		return duname;
	}

	public void setDuname(String duname) {
		this.duname = duname;
	}

	public String getPid() {
		return pid;
	}

	public void setPid(String pid) {
		this.pid = pid;
	}
	@ExcelField(title="事件类别", type=1, align=2, sort=3,dictType="type_type")
	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}

	private String guanjianzi;//关键字搜索（中间字段）
	public String getGuanjianzi() {
		return guanjianzi;
	}

	public void setGuanjianzi(String guanjianzi) {
		this.guanjianzi = guanjianzi;
	}

	public YhcgNumberinfo() {
		super();
	}

	public YhcgNumberinfo(String id){
		super(id);
	}

	@Length(min=0, max=255, message="编号长度必须介于 0 和 255 之间")
	@ExcelField(title="登记编号", type=1, align=2, sort=1)
	public String getNumber() {
		return number;
	}

	public void setNumber(String number) {
		this.number = number;
	}
	
	@Length(min=0, max=255, message="姓名长度必须介于 0 和 255 之间")
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
	@Length(min=0, max=255, message="电话长度必须介于 0 和 255 之间")
	public String getPhone() {
		return phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}
	
	@Length(min=0, max=255, message="文件名长度必须介于 0 和 255 之间")
	public String getFilename() {
		return filename;
	}

	public void setFilename(String filename) {
		this.filename = filename;
	}
	
	@Length(min=0, max=255, message="文件地址长度必须介于 0 和 255 之间")
	public String getFileurl() {
		return fileurl;
	}

	public void setFileurl(String fileurl) {
		this.fileurl = fileurl;
	}
	
	@Length(min=0, max=255, message="来源长度必须介于 0 和 255 之间")
	@ExcelField(title="来源", type=1, align=2, sort=2,dictType="come_type")
	public String getCome() {
		return come;
	}

	public void setCome(String come) {
		this.come = come;
	}
	@ExcelField(title="主要内容", type=1, align=2, sort=6)
	public String getContent() {
		return content;
	}

	public void setContent(String content) {
		this.content = content;
	}
	
	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}
	
	@Length(min=0, max=255, message="登记人（输入）长度必须介于 0 和 255 之间")
	public String getRegistrant() {
		return registrant;
	}

	public void setRegistrant(String registrant) {
		this.registrant = registrant;
	}
	
	@Length(min=0, max=255, message="办理人长度必须介于 0 和 255 之间")
	public String getAdministrator() {
		return administrator;
	}

	public void setAdministrator(String administrator) {
		this.administrator = administrator;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getTimelimit() {
		return timelimit;
	}

	public void setTimelimit(Date timelimit) {
		this.timelimit = timelimit;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelField(title="转办时间", type=1, align=2, sort=4)
	public Date getCreatetime() {
		return createtime;
	}

	public void setCreatetime(Date createtime) {
		this.createtime = createtime;
	}
	
	@Length(min=0, max=255, message="责任单位长度必须介于 0 和 255 之间")
	public String getResponsibilityunit() {
		return responsibilityunit;
	}

	public void setResponsibilityunit(String responsibilityunit) {
		this.responsibilityunit = responsibilityunit;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getProcessingtime() {
		return processingtime;
	}

	public void setProcessingtime(Date processingtime) {
		this.processingtime = processingtime;
	}
	
	@Length(min=0, max=255, message="督办单位长度必须介于 0 和 255 之间")
	public String getSupervisionunit() {
		return supervisionunit;
	}

	public void setSupervisionunit(String supervisionunit) {
		this.supervisionunit = supervisionunit;
	}
	
	@Length(min=0, max=255, message="工单状态长度必须介于 0 和 255 之间")
	@ExcelField(title="处理结果", type=1, align=2, sort=9,dictType="status")
	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}
	
	@Length(min=0, max=255, message="审核状态长度必须介于 0 和 255 之间")
	public String getAudit() {
		return audit;
	}

	public void setAudit(String audit) {
		this.audit = audit;
	}
	
	@Length(min=0, max=255, message="审核人长度必须介于 0 和 255 之间")
	public String getAudituser() {
		return audituser;
	}

	public void setAudituser(String audituser) {
		this.audituser = audituser;
	}
	
	public String getPoints() {
		return points;
	}

	public void setPoints(String points) {
		this.points = points;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getDistributiontime() {
		return distributiontime;
	}

	public void setDistributiontime(Date distributiontime) {
		this.distributiontime = distributiontime;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getEndtime() {
		return endtime;
	}

	public void setEndtime(Date endtime) {
		this.endtime = endtime;
	}
	
}